iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0

今天也是來講點語法,來聊聊函式吧

  • 函式可以把程式碼編整成可以重複利用的小段區塊
  • 函式是用來完成特定任務的獨立的程式碼區塊。你給一個函式起一個合適的名字,用來標示函式做什麼,並且當函式需要執行的時候,這個名字會被「呼叫」。
func 函式名稱(外部參數 內部參數: 型別) {
    // 內部執行的程式
}

基礎的function,無參數及回傳值

  • 沒有設定參數也沒有設定回傳值,在call function的時候將會直接執行function裡面的程式

有參數無回傳值的function

  • 無回傳值的function也不是真的無回傳值,正常情況下他還是會回傳一個型別為Void,只是不需要被定義

  • 有內部及外部參數的function
    內部參數名(parameter name)
    parameter name給function內使用
    外部參數名(argument label)
    argument name給call function使用
  • 外部參數名可寫底線省略

無參數有回傳值的function

  • 函式也可以直接回傳一個型別,不一定要裡面有參數。call function的時候回直接執行return的值

有參數也有回傳值的function

  • 有內部參數及回傳值的function,在呼叫function的時候需輸入兩個參數,將會執行兩個內部參數return的結果。以下圖為例,在呼叫的add這個function的時候。將會回傳1+2,會得到結果是3。

inout (copy-in copy-out)

  • Swift的function中的參數都是以pass-by-value的方式傳遞,也就是在function外部先copy一份再帶進function中,而function中的參數預設都是以常數為型態,所以無法修改。
  • 如果你想要一個函式可以修改參數的值,並且想要在這些修改在函式呼叫結束後仍然存在,那麼就應該把這個參數定義為輸入輸出參數(In-Out Parameters)。
  • 定義一個輸入輸出參數時,在參數定義前加 inout 關鍵字。
  • 以下圖為例,設定i的變數為10,帶入increment的function後,i的值會+1,所以答案會印出11。

以上就是函式簡單用法。


上一篇
Swift-集合類型(Collection Types)
下一篇
Swift-閉包 (Closure)
系列文
Swift!從新手到微上手30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
ytyubox
iT邦新手 5 級 ‧ 2019-09-18 00:11:48

code 的部分建議用 Markdown 寫,被搜尋到的機率會更高

我要留言

立即登入留言